package com.adams.custom.page.core.dto;

import java.util.ArrayList;
import java.util.List;

import com.adams.access.db.bean.DicColumn;
import com.adams.custom.page.util.ViewUtil;

/**
 * 
 * File Name : DicColumnDto.java
 * 
 * @Description : <Detail Description for Class >
 */
public class DicColumnDto
{

	/**
	 * Description : 属性编码 非数据库字段，一般情况下属性编码为数据库字段编码，但是根据情况可以程序改变 Author : 904370
	 */
	private String attributecode = "";

	/**
	 * Description : 字段定义 Author : 904370
	 */
	private DicColumn dicColumn;

	public String getAttributecode()
	{
		if (null == attributecode || attributecode.trim().length() == 0)
		{
			if (null != dicColumn && null != dicColumn.getDicColumnPK())
			{
				return dicColumn.getDicColumnPK().getColumncode();
			}
			return "";
		}
		return attributecode;
	}

	public void setAttributecode(String attributecode)
	{
		this.attributecode = attributecode;
	}

	public DicColumn getDicColumn()
	{
		return dicColumn;
	}

	public void setDicColumn(DicColumn dicColumn)
	{
		this.dicColumn = dicColumn;
	}

	public DicColumnDto(String attributecode, DicColumn dicColumn)
	{
		super();
		this.dicColumn = dicColumn;
		if (ViewUtil.isNuLLStr(attributecode))
		{
			if (null != dicColumn && null != dicColumn.getDicColumnPK())
			{
				this.attributecode = dicColumn.getDicColumnPK().getColumncode();
			}
		} else
		{
			this.attributecode = attributecode;
		}

	}

	public DicColumnDto(DicColumn dicColumn)
	{
		super();
		this.dicColumn = dicColumn;
		if (null != dicColumn && null != dicColumn.getDicColumnPK())
		{
			this.attributecode = dicColumn.getDicColumnPK().getColumncode();
		}
	}

	public static List<DicColumnDto> create(List<DicColumn> dicColumns)
	{
		List<DicColumnDto> dicColumnDtos = new ArrayList<DicColumnDto>();
		for (DicColumn childDicColumn : dicColumns)
		{
			DicColumnDto dicColumnDto = new DicColumnDto(childDicColumn);
			dicColumnDtos.add(dicColumnDto);
		}
		return dicColumnDtos;
	}
}
